
PHPlist
What is PHPlist
PHPlist is a set of PHP pages that implement a simple mailinglist system. It uses Mysql for storing the information.
Particular aspects of the system are:
- Posting to the mailinglist is via a webpage. It is therefore more a kind of "announcements" list system than an actual email mailinglist.
- It is designed to be able to deal with a very large amount of email addresses.
- Users can sign up to multiple lists. If a message is sent to multiple lists, they will only receive one copy of the email and not as many as the number of lists they are subscribed to.
- Geographical information. If people sign up, they can identify the geographical location they're in and when sending an email you can determine which locations need to receive the message.
Requirements
To use PHPlist you need a webserver which supports PHP3, a Mysql database and possibly Perl with the Mysql modules installed.
Demonstration
Check out the demonstration on this site. You can check out everything, except that if you submit a message it will not actually be sent (for obvious reasons).
I'm sorry to say for Non UK users that the current settings are rather UK biased. I will change this in future versions and make the geographical configuration more flexible.
This demonstration version has a delay loop, to show that processing will continue if the number of messages to process is large.
Download
Download the current version here
If you want to be notified when there are new versions sign up here.
Installation
- Take the archive file and unpack it in a temporary directory using "tar zxf phplist-1.0.tgz"
- Move the directory "lists" to your HTML area. (mv lists ~/public_html)
- Move the contents of the directory "cgi-bin" to your cgi-bin area. (mv cgi-bin/* ~/cgi-bin)
If you invoke the script from your local machine, you can also move it to some other
area so it's not accessible from the outside world.
- Make the cgi script executable (chmod a+x ~/cgi-bin/*pl)
- You may want to password protect the "admin" directory in the lists directory.
That's up to you. Check your webserver documentation.
- Change the stuff in lists/config.php3, you certainly will want to change the
database location, username and password and the domain.
- Use your browser to go to the admin index on your site (http://www.yoursite.com/lists/admin/)
and choose the toplink (Initialize the database).
- There are three methods to send the messages
It's useful to make this automatic, so you don't need to think about it, but if that's not possible
you can do it manually.
- Method 1. With PHP, the only option if you don't have perl. Use the link in the admin page to send
the messages. Once you've invoked the page, and you get the first message, you can exit the page.
The processing will then continue.
You can invoke loading the page using libwww-perl (for example).
- Method 2 and 3. With Perl
- You need to have the Mysql module installed on the server where the script runs.
- You also need to edit the variables at the beginning of the script to reflect your settings
- Method 2. Locally - use the "invoke.sh" script to invoke the script that sends the messages
and delete the line that uses the remote option.
- Method 3. Remotely - use the "invoke.sh" script and delete the line that uses the local option,
then install libwww-perl and edit the "remote" line to point to your site.
I may soon add a "public" site where you can create your own lists, so if you don't manage to install it, you may be able to use that service.
Neoboard plugin
It's quite simple, once you've got the lists going to have all submissions from Neoboard (or posssibly other PHP boards) to be sent to a list.
I'll post up a function you can use here soon.
License
PHPlist is licensed under the GPL.
If you use it, it would be great if you let me know. Send an email to michiel@quipu.co.uk with your name and the URL where you use it, and I'll add you to the list below.
Author
The author of this system is Michiel Dethmers, michiel@quipu.co.uk. I'm a freelance technical designer operating in London UK. Clients include the National Theatre, Teamworks and CancerBACUP. I haven't had time to make a proper webpage yet, but I'm working on it.
If you have any questions, about this system, or about other projects, don't hesitate to contact me.
Sites using PHPlist
Changes planned
- Check on duplicate subscription, and using cookies to remember a user (if they want to)
- More flexible geographical information, configurable.
- "Digests", allowing users to sign up per list with different frequencies of receiving email.
- Processing bounces and possibly emailed submissions.